单位
each_buff
遍历状态
- 参数
- name (string) - 状态名
- 遍历
- buff (buff) - 遍历到的状态
当指定了name
后只会遍历到该名称的状态,否则遍历所有状态。
for buff in unit:each_buff '状态名' do
-- buff为遍历到的状态
end
each_skill
遍历技能
- 参数
- type (string) - 技能类型
- 遍历
- skill (skill) - 遍历到的技能
如果指定了type
,则会遍历到所有技能类型为type
的技能;否则会遍历到所有技能。总是可以遍历到0级技能。
for skill in unit:each_skill '英雄' do
-- skill为遍历到的技能
end
event
注册事件
- 参数
- name (string) - 事件名
- callback (function) - 事件函数
- 返回
- trigger (trigger) - 触发器
- 事件参数
- trigger (trigger) - 触发器
- ... (...) - 自定义数据
这是对base.event_register
方法的封装,你可以在这里看到详细说明。
local trigger = unit:event('单位-离开视野', function (trigger, unit)
-- 你的代码
end)
event_notify
触发事件
- 参数
- name (string) - 事件名
- ... (...) - 自定义数据
这是对base.event_notify
方法的封装,你可以在这里看到详细说明。
unit:event_notify('自定义事件', ...)
find_skill
寻找技能
- 参数
- name (string/integer) - 技能名/格子
- type (string) - 技能类型
- 返回
- skill (skill) - 技能
指定type
后只在此类型中寻找技能。如果name
使用格子,那么必须要指定type
。可以找到0级技能。
local skill = unit:find_skill('技能名')
local skill = unit:find_skill(0, '英雄')
get
获取属性
- 参数
- state (string) - 单位属性
- 返回
- value (number/string) - 数值或字符串
客户端并不一定能获取到单位的真实属性,这取决于单位是否可以见以及这个属性的同步方式。
local value = unit:get '生命'
get_class
获取类别
- 返回
- class (string) - 单位类别
如果并不知道这个单位的类别是什么,则返回"未知"
。
local class = unit:get_class()
get_data
获取数据
- 返回
- data (table) - 数据表
获取这个单位在UnitData中对应的数据表。等价于base.table.unit[unit:get_name()]
,因此如果单位名不正确(通常是因为不知道单位名是什么)则会返回nil
。
get_facing
获取朝向
- 返回
- facing (number) - 朝向
如果单位不可见,则返回0.0
。
local facing = unit:get_facing()
get_height
获取高度
- 返回
- height (number) - 高度
如果单位不可见,则返回0.0
。
local height = unit:get_height()